1. Field
The present disclosure relates generally to data processing systems and, in particular, to a method and apparatus for processing data. Still more particularly, the present disclosure relates to a method and apparatus for reducing the use of resources on server data processing systems.
2. Description of the Related Art
In network data processing systems, a number of different paradigms are present for the manner in which data or other information is processed. For example, in many network data processing systems, applications are run on the client data processing systems. Server data processing systems provide access to documents, spreadsheets, databases, and other information.
In other network data processing systems, applications may run on a server data processing system. The client data processing systems are used as an interface to interact with the applications running on the server. For example, a word processing program runs on the server, while the user interacts with the word processing program on the client. A web browser or other client application may be used to interact with the word processing program running on the server data processing system. This type of computing may take a number of different forms.
For example, server-based computing may be in the form of terminal sessions or virtual desktops. The terminal session is an interaction between a client data processing system and an application running on a server. A virtual desktop is an environment in which a user's interface is stored on a remote server data processing system rather than locally on a client data processing system in which the user works. With server-based computing environments, it is not unusual to have a user access multiple applications or desktops that are running on different server data processing systems. For example, a user may use a client data processing system to access an application or an entire desktop running on one or more remote data processing systems.
In conjunction with the use of server-based computing, increased agent software is used to counteract unauthorized access to different computers in a network data processing system. For example, these agents may include anti-malware agents for protecting against viruses, and other malware. Single sign-on agents are employed for automatically logging on to applications and navigating applications. Data leakage protection agents are often used to identify information that should not be transmitted or accessed. Other agents are employed to synchronize the state information across different applications.
These types of agents run on both server data processing systems and client data processing systems. Typically, an agent runs both on the server data processing system and the client data processing system. The agent runs on the server data processing system within the virtual desktop or session. For example, with a single sign-on agent, the agent running on the server data processing system provides single sign-on services for different applications running in a virtual desktop that are accessed by a user. The agent on the client data processing system performs single sign-on services for any applications that may run on the client data processing system.